<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>

    <script>

        // 短路？
        //    &&  见假即短路
        //    ||   见真即短路

        // 声明函数的方法
        //    具名函数
        //    赋值式函数
        //    匿名函数    new Function

        // 预编译?
        //    提升var   提升具名函数   函数内部也存在预编译

        // 全局和局部?
        //    全局变量到处可以使用
        //    局部变量只有函数内可以使用
        //    就近

        // 假设法?
        //    假设结果为真，去找结果不成立的条件       质数的判断
        //    假设结果为假，去找结果成立的条件         includes  flag = false    找到 n===arr[i]   flag = true

        // splice用法？
        //    添加 、 删除、替换

        // 截取数组的方法
        //    slice()  截取整个数组

        // 数组转字符串？
        //    join()

        // 拼接数组的方法
        //    concat()

        // 冒泡排序？
        //    外层循环  轮数-1   内层循环相邻比较i  i+1 


        // 数组去重
        //    改变了原数组  重复就删除
        //    得到新数组    把不重复都放在新数组里面


        // 选择排序

        var len = arr.length ;
        // 轮数
        for(var i = 0 ; i < len - 1 ; i++) {   // i代表轮数
            var min = i ;
            for(var j = i + 1 ; j < len ; j++) {
                if(arr[min] > arr[j]) {
                    min = j ;
                }
            }
            // 与假设是否相符
            if(min !== i) {
                var t = arr[min] ;
                arr[min] = arr[i] ;
                arr[i] = t ;
            }
        }

    </script>
    
</body>
</html>